
import javax.swing.JOptionPane;

public class farfallino {

    public static boolean isVocal(char carattere) {
        if (carattere == 'a' || carattere == 'e' || carattere == 'i' || carattere == 'o' || carattere == 'u' || carattere == 'A' || carattere == 'E' || carattere == 'I' || carattere == 'O' || carattere == 'U') {
            return true;
        } else {
            return false;
        }

    }

    public static char minus(char carattere) {
        int lett = carattere;
        if(lett<=96 && lett>=65){
        lett = lett + 32;
        carattere = (char) lett;
        }
        return carattere;

    }

    public static void main(String[] args) {
        String frase;
        String stampa = "";
        char carattere;
        int leng;
        int test;
        String[] opzioni={"In farfallino", "Dal farfallino"};
        test = JOptionPane.showOptionDialog(null, "Vuoi trasformare dal farfallino o in farfallino?", "Trasformazione", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE,null,opzioni,opzioni[0]);
        frase = JOptionPane.showInputDialog("Inserire la frase da codificare o decodificare Linguaggio Farfallino:");
        leng = frase.length();
        if(test==1){
            String tot="";
            frase=frase+"  ";
            for (int i=0; i<leng-2; i++){
                carattere= frase.charAt(i);
                if(isVocal(carattere)){
                    i++;
                    i++;
                }
                stampa= stampa+carattere;
            }
        }else{
        for (int i = 0; i < leng; i++) {
            carattere = frase.charAt(i);
            String car;
            if (isVocal(carattere)) {
                car = carattere + "f" + minus(carattere);
            } else {
                car = carattere + "";
            }
            stampa = stampa + car;
        }
        }
        JOptionPane.showMessageDialog(null, stampa);
    }
}
